1. Technical Field
A “Community-Based Mobile Search Cache” provides various techniques for maximizing the number of query results served from a remotely constructed local “query cache” downloaded to mobile communications devices such as cell phones, PDAs, media players, etc., thereby limiting the need to connect to the Internet or cloud using 3G or other wireless links to service search queries entered by the user.
2. Related Art
The availability of Internet connections on mobile devices such as cell phones, PDA's, netbooks, notebooks, etc., allow users to easily access the web and their personal files stored in the cloud. However, Internet access using mobile devices often uses relatively expensive links such as 3G or other radio-frequency based networks, which often charge for that data link on a per-byte or per-time data transfer basis. Further, the limited resources (CPU, memory, bandwidth, etc.) that are often available on the mobile device together with the huge amount of information stored on the web/cloud makes the process of searching and quickly displaying the right piece of information on mobile devices a significant challenge. Consequently, a user entering a search query on her mobile device may desire a quicker and more focused search result than when entering the same query on that user's desktop computer with a high-speed wired connection to the Internet.
Many current state-of-the-art approaches to addressing such issues generally use the mobile device as a text input device for entering search queries. Users submit these search queries on their devices, which then transfer the query to the cloud/Internet through the 3G link (or other radio link). The cloud is then responsible for serving the queries and sending the results back to the mobile device through the 3G link. Unfortunately, this typical search architecture has at least two major drawbacks, including latency and power consumption.
In particular, when compared to a typical local network connection, the 3G or other radio link is slow. Therefore, establishing a connection with the cloud and exchanging information over the radio link takes time that negatively impacts user experience. In fact, mobile users are often on the go, and they both need and expect the results of their query as soon as possible. Further, on typical mobile devices, the radio link is one of the most power hungry components. Consequently, frequent or prolonged use of the radio link leads to faster draining of the mobile device's battery. Additionally, in a typical mobile environment, a radio link is not always available to the mobile device, thereby preventing the user from entering search queries for data or information in the cloud.
Several schemes have attempted to address some of these issues. For example, one conventional mobile search scheme attempts to reduce search time, or latencies, resulting from relatively slow data links used by many mobile devices by evaluating characters of a search term while they are being entered by the user. This mobile search scheme then continuously attempts to predict what the user query will be based on the characters that the user has entered so far, and uses each of the resulting predicted queries to download a predetermined number of search results to a local cache while the user is entering the query. Once the complete search term has been entered by the user, search results corresponding to the complete search term are displayed on the mobile device from the cache. This conventional scheme has two drawbacks. First, connecting and fetching data every time the user enters a character might not always be feasible due to the high latency of the 3G link. This can be especially true for mobile devices equipped with physical keyboards that enable the user to enter characters quickly. Second, this scheme might actually increase power consumption by requiring increased usage of the data link (3G, WiFi, etc.) to retrieve search results based on numerous predicted queries.
A somewhat related scheme addresses the idea of “data prefetching” in mobile environments for reducing search latencies. In general, this scheme determines the user's current location and automatically downloads location dependent data to the mobile device (e.g., restaurants, stores, phone numbers, etc.) within the general area surrounding the user's current location. As the user moves or changes location, this information is updated. In particular, information related to the user's current area is prefetched first, with closely related data being grouped together. Further, the user's direction of travel is considered such that if the user moves to the north, location-based data to the south is not prefetched since it is assumed that the user will not need the data related to areas behind him (i.e., south). As with the prior scheme, while this conventional scheme can reduce query result latencies on the mobile device, it will likely increase power consumption by requiring increased usage of the data link (3G, WiFi, etc.) to “prefetch” location-based data as the user moves about.
Another conventional scheme provides content caching for mobile devices by preemptively downloading popular multimedia content to those devices. In general, this scheme uses a “content selection algorithm” for push-based multimedia content caching scenarios. This scheme attempts to improve cache hit rates by exploiting correlations between users who request similar content (based on each user's multimedia content viewing history), with that information being used to select cache content on an individual user basis. Simpler versions of such schemes simply push the same set of the most popular multimedia content onto all connected mobile devices, with the limit on the amount of that content typically based on the available memory of the mobile device.